package com.xiaoyang.consumer.consumer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;

/**
 * @auther XiaoYang
 * @DATE 2023/5/3-21:08
 */
@RestController
public class ConsumerController {

    @Autowired
    @Qualifier("MineRest")
    private RestTemplate restTemplate;

    /**
     * 思考： ribbon是怎么将 http://provider/hello 路径请求成功的
     * 应该请求 http://127.0.0.1/hello
     * 1、拦截这个请求
     * 2、截取主机名称
     * 3、借助eureka来做服务发现 list<>
     * 4、通过负载均衡算法 拿到一个服务 ip port
     * 5、reConstructURL 重构url地址
     * 6、发送请求
     * @param serviceName 主机名
     * @return 每个provider返回的hello
     */
    @GetMapping("/testRibbon")
    public String testRibbon(String serviceName){
        String result = restTemplate.getForObject("http://" + serviceName + "/hello", String.class);
        //RestTemplate template = new RestTemplate();
        //String forObject = template.getForObject("http://www.baidu.com", String.class);
        return result;
    }


}
